import Vue from 'vue'
import App from './App.vue'
//  引入仓库
import store from '@/store'
//  引入路由
import router from '@/router'
//  注册全局组件
import TypeNav from '@/components/TypeNav'
import Carousel from "@/components/Carousel"
import Pagination from '@/components/Pagination'
import { Button,MessageBox} from 'element-ui';
// 引入懒加载组件
import VueLazyload from 'vue-lazyload'
// 引入动态图
import hlw from '@/assets/images/1.gif'
// 引入表单验证插件
import "@/plugins/validate"

// 注册懒加载图片插件
Vue.use(VueLazyload,{
  // 懒加载默认图片
  loading:hlw
})
/* 
  !全局组件注册
*/
//  三级联动组件
Vue.component(TypeNav.name,TypeNav)
//  轮播图组件
Vue.component(Carousel.name,Carousel)
//  分页器组件
Vue.component(Pagination.name,Pagination)

//ElementUI注册组件的时候，还有一种写法，挂在原型上
Vue.prototype.$msgbox = MessageBox;
Vue.prototype.$alert = MessageBox.alert;
//注册全局组件
Vue.component(Button.name,Button);

//  引入mockServe模块---mock数据
import '@/mock/mockServe'
//  引入swiper包
import 'swiper/css/swiper.css'

/* //  测试发送请求
import {reqCategoryList} from '@/api'
reqCategoryList() */

// 

//! 统一接收接口api文件夹里面的函数
import * as API from '@/api';

Vue.config.productionTip = false

new Vue({
  router,
  store,
  // 配置全局事件总线
  beforeCreate(){
    Vue.prototype.$bus = this
    Vue.prototype.$API = API
  },
  render: h => h(App),
}).$mount('#app')
